feat: list authors in design - #2743
Conversation
This comment has been minimized.
This comment has been minimized.
|
Here's a visual recap of what changed: Open the full interactive recap |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
Builder reviewed your changes and found 2 potential issues 🟡
Review Details
Code Review Summary
PR #2743 adds owner email to the design listing action and surfaces creator bylines plus an author filter in the design library. The implementation has a good separation between action data, pure filtering helpers, localized strings, and UI state; normalization and the accompanying unit coverage handle casing, null owners, and unknown sessions safely. This is a standard-risk feature change.
Key Findings
- 🟡 MEDIUM — The author Select can retain a selected option after that author disappears from the current design data, leaving an active but invisible filter.
- 🟡 MEDIUM — The card byline eagerly mounts an avatar lookup for every visible owner in an unpaginated library, which can create a burst of requests and data-URL downloads in larger shared workspaces.
🧪 Browser testing: Will run after this review (PR touches UI code)
| {viewerHasDesigns ? ( | ||
| <SelectItem value={MY_DESIGNS}>{t("home.me")}</SelectItem> | ||
| ) : null} | ||
| {authorEmails |
There was a problem hiding this comment.
🟡 Reset the author filter when its selected option disappears
If the selected author has all of their designs removed or the list refreshes without that owner, author still contains the old email while the SelectItem is no longer rendered from authorEmails. The grid becomes empty but the control no longer exposes the active filter; reset the selection (including MY_DESIGNS when viewerHasDesigns becomes false) or derive a validated Select value from the current options.
Additional Info
Found by 1 of 3 review agents; independently confirmed from the state/options flow.
| /** Who created a design, shown on its library card in shared workspaces. */ | ||
| function DesignAuthorByline({ email }: { email: string }) { | ||
| const name = emailToName(email); | ||
| const avatarUrl = useAvatarUrl(email); |
There was a problem hiding this comment.
🟡 Avoid eager avatar requests for every design card
DesignAuthorByline mounts once per visible card and useAvatarUrl(email) fetches an avatar for each distinct owner email. Because the list is unpaginated, a shared library with many owners can trigger a burst of avatar requests and download data-URL images on initial render; consider batching/preloading the normalized author set or deferring avatar fetches while rendering the deterministic fallback.
Additional Info
Found by 1 of 3 review agents; independently confirmed against useAvatarUrl implementation.
There was a problem hiding this comment.
Builder reviewed your changes — no new findings
Review Details
Incremental Code Review Summary
I reviewed the latest PR #2743 head and compared the complete randomized diff against the two unresolved findings from the previous review. The owner email action propagation, normalized author filtering, session/org handling, localized strings, card bylines, and test coverage remain consistent with the prior implementation. The two existing comments remain applicable and were intentionally not reposted or resolved: the selected author can become stale when its designs disappear, and card rendering eagerly starts avatar requests for visible owners.
Two independent code-review agents found no additional confirmed bugs, and the author helper tests passed in the available environment. This is a standard-risk UI/data-display change. No new review comments are being added.
🧪 Browser testing: Skipped — dev server is healthy, but all 17 browser test cases were blocked because executor sessions still lack Chrome navigation/screenshot tools; this is an infrastructure limitation, not a verified application result.

No description provided.